package container

const FRAMEWORK_FIELD_TAG_PREFIX = "HDI"

// enum SCOPE begin

type SCOPE int

const (
	INVALID   SCOPE = iota // "INVALID"
	SINGLETON              // "SINGLETON"
	PROTOTYPE              // "PROTOTYPE"
)

func (scope SCOPE) String() string {
	switch scope {
	case SINGLETON:
		return "SINGLETON"
	case PROTOTYPE:
		return "PROTOTYPE"
	default:
		return "INVALID"
	}
}

func (scope SCOPE) IsValid() bool {
	switch scope {
	case SINGLETON, PROTOTYPE:
		return true
	default:
		return false
	}
}

// enum SCOPE end
